package telnet

import (
	"fmt"
	"strings"
)

/*
	Telnet命令处理
	1. Telnet 是一种协议。在操作系统中可以在命令行使用 Telnet 命令发起 TCP 连接。
		我们一般用 Telnet 来连接 TCP 服务器，键盘输入一行字符回车后，即被发送到服务器上。

	在下例中，定义了以下两个特殊控制指令，用以实现一些功能：
		1.输入“@close”退出当前连接会话。
		2. 输入“@shutdown”终止服务器运行。

*/

func processTelnetCommand(str string, exitChan chan int) bool {
	// @close 指令表示终止本次会话
	if strings.HasPrefix(str, "@close") {
		fmt.Println("Session closed")

		// 高数外部需要断开连接
		return false
	} else if strings.HasPrefix(str, "@shutdown") {
		fmt.Println("Server shutdown")

		// 往 channel 下入 0, 阻塞等待接收方处理
		exitChan <- 0

		// 告诉外部断开连接
		return false
	}

	// 打印输入的 string
	fmt.Println(str)

	return true
}
